home *** CD-ROM | disk | FTP | other *** search
- SET TALK OFF
- *
- * MAILADD.PRG
- * 2-22-86
- *
- * ADDS A RECORD TO MAILLIST.DBF
- *******
- * FILES
- *******
- *
- USE MAILLIST INDEX MAILNAME,MAILCOMP,MAILZIP
- DO WHILE T
- *************
- *DEFINE VARIABLES
- *************
- STORE T TO Y.RECBAD | MAIN LOOP
- *
- STORE T TO Y.NOANSWER | CHECK ANSWER LOOPS
- STORE ' ' TO Y.OK | CHECKANSWER VARIABLE
- *
- STORE 1 TO Y.READNO | GET NUMBER OFFSET FOR READ
- X.ADD = T | THIS IS THE ADD PROGRAM
- *
- STORE SPACE(10) TO Y.FIRST_NAME
- STORE SPACE(20) TO Y.LAST_NAME,Y.CITY
- STORE SPACE(40) TO Y.COMPANY,Y.ADDRESS1,Y.ADDRESS2
- STORE SPACE(2) TO Y.STATE
- STORE SPACE(5) TO Y.ZIP
- STORE SPACE(12) TO Y.PHONE
- *
- ERASE
- DO WHILE Y.RECBAD
- ************
- * PAINT SCREEN
- ************
- ERASE
- &SAYNORMAL
- @ 00,00 SAY CENTER('MAIL LIST ADD RECORD',79)
- @ 01,00 SAY CENTER('F2=HELP F3=QUIT F7=SAVE F8=ERASE',79)
- @ 05,00 SAY 'NAME :' GET Y.FIRST_NAME PICTURE DUPCHAR(33,10)
- @ ROW(),COL()+5 SAY 'LAST NAME :' GET Y.LAST_NAME PICTURE DUPCHAR(33,20)
- @ 07,00 SAY 'COMPANY :' GET Y.COMPANY PICTURE DUPCHAR(33,40)
- @ 09,00 SAY 'ADDRESS1 :' GET Y.ADDRESS1 PICTURE DUPCHAR(33,40)
- @ 11,00 SAY 'ADDRESS2 :' GET Y.ADDRESS2 PICTURE DUPCHAR(33,40)
- @ 13,00 SAY 'CITY :' GET Y.CITY PICTURE DUPCHAR(33,20)
- @ ROW(),COL()+3 SAY 'STATE :' GET Y.STATE PICTURE "UU" GETFILE MAILSTCK
- @ ROW(),COL()+3 SAY 'ZIP :' GET Y.ZIP PICTURE "#####"
- @ 15,00 SAY 'PHONE :' GET Y.PHONE PICTURE "###-###-####"
- READ GETNO Y.READNO
- @ 24,00
-
- *****************
- * ADDRESS FUNCTION KEY SECTION
- * F2=HELP F3=QUIT F7=SAVE F8=ERASE
- *****************
- DO CASE
- **********
- * HELP
- **********
- CASE LASTKEY()=8 OR LASTKEY()=188 | HELP ^H OR F2
- Y.READNO = GETNO()
- DO MAILADDH
- LOOP
- **********
- *QUIT
- **********
- CASE LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189 | QUIT ^Q OR F3
- CLOSE ALL
- RETURN
- **********
- * VALIDATE
- **********
- CASE LASTKEY() = 19 .OR. LASTKEY() = 193 | SAVE SECTION ^S OR F7
- STORE F TO Y.RECBAD
- LOOP
- **********
- * ERASE SCREEN
- **********
- CASE LASTKEY() = 5 OR LASTKEY() = 194 | ERASE SCREEN ^E OR F8
- DO MAILER
- Y.READNO = 1
- **********
- * END CASES
- **********
- OTHERWISE
- *************
- * ADDRESS VALADATION
- *************
- STORE T TO Y.NOANSWER
- STORE 'Y' TO Y.OK
- DO WHILE Y.NOANSWER
- @ 24,00 SAY 'IS ADDRESS OK (Y OR N) ?'
- @ 24,26 GET Y.OK
- READ
- IF LASTKEY() = 17 .OR. LASTKEY() = 27 .OR. LASTKEY() = 189
- CLOSE ALL
- RETURN
- ENDIF
- DO CASE
- CASE !(Y.OK) = 'Y'
- STORE F TO Y.RECBAD
- STORE F TO Y.NOANSWER
- STORE ' ' TO Y.OK
- @ 24,00
- CASE !(Y.OK) = 'N'
- STORE T TO Y.ADDRBAD
- STORE F TO Y.NOANSWER
- STORE ' ' TO Y.OK
- @ 24,00
- Y.READNO = 1
- OTHERWISE
- BEEP
- STORE T TO Y.NOANSWER
- STORE ' ' TO Y.OK
- @ 24,00
- ENDCASE
- ENDDO
- STORE T TO Y.NOANSWER
- ENDCASE
- ENDDO | WHILE RECORD BAD
- ************
- * WRITE RECORD
- ************
- APPEND BLANK
- REPLACE FIRST_NAME WITH Y.FIRST_NAME,LAST_NAME WITH Y.LAST_NAME
- REPLACE COMPANY WITH Y.COMPANY, ADDRESS1 WITH Y.ADDRESS1
- REPLACE ADDRESS2 WITH Y.ADDRESS2, CITY WITH Y.CITY, ZIP WITH Y.ZIP
- REPLACE STATE WITH Y.STATE, PHONE WITH Y.PHONE
- ENDDO | WHILE T
-